package net.yyge.manifest.editor.tag;

import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;

import java.util.Map;

public class XmlTag {


    protected String getAttrValue(NamedNodeMap attrs, String attName) {
        Node attNode = attrs.getNamedItem(attName);
        if(attNode != null) {
            return attNode.getNodeValue();
        }
        Node attAndroidNode = attrs.getNamedItem("android:"+attName);
        if(attAndroidNode != null) {
            return attAndroidNode.getNodeValue();
        }

        return null;
    }


    protected void putData(NamedNodeMap attrs, Map<String, String> data) {
        for (int i = 0; i < attrs.getLength(); i++) {
            Node item =  attrs.item(i);
            data.put(item.getNodeName(), item.getNodeValue());
        }
    }

    /**
     * 设置属性 有才会设置 没有不会设置
     * @param element 元素对象
     * @param attName 属性名称
     * @param value 属性值
     * @return oleValue
     */
    protected String setValue(Element element, String attName, String value) {
        //判断是否有数据
        NamedNodeMap attributes = element.getAttributes();
        String oleValue = getAttrValue(attributes, attName);
        if(oleValue!=null) {
           element.setAttribute(attName,value);
           return oleValue;
        }
        return null;
    }

    protected boolean addAttribute(Element element, String attName, String value) {
         element.setAttribute(attName,value);
         return true;
    }

}
